Estimating Complexity of Programs in Python Language

نویسندگان

  • Sanjay Misra
  • Ferid Cafer
چکیده

Software metrics determine the degree of maintainability of software products, which is one of the important factors that affect the quality of any kind of software. Furthermore, software metrics provide useful feedback to the designers to impact the decisions that are made during design, coding, architecture, or specification phases. Without such feedback, many decisions are made in ad hoc manner. Fenton defines measurement as the process by which numbers or symbols are assigned to attributes of entities in the real world in such a way as to describe them according to clearly defined unambiguous rules [6]. In software engineering software metrics are the only tools to control the quality of software. Furthermore, requirement to improve the software quality is the prime objective, which promoted the research projects on software metrics technology. It is always hard to control the quality if the code is complex. Complex codes always create problems to software community. It is hard to review, test, maintain as well as manage such codes. As a consequence, those handicaps increase the maintenance cost and the cost of the product. Due to these reasons, it is strongly recommended to control the complexity of the code from the beginning of the software development process. Software metrics help to achieve this goal. In fact, there are no strict rules, which can prove that code is good or bad. Several researchers proposed different criteria for developing the good and quality software. Although they consider the different aspect of the quality one thing is common in all the criteria i.e. the code should be agile [31]. Specially, in object oriented software developments, which have an extraordinary acceptance in last two decades, it is a must. In other words, the code should be written in such a way that it should be reused and adopted. If code is not agile then it is hard to replace (add or

برای دانلود رایگان متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

fastcluster: Fast Hierarchical, Agglomerative Clustering Routines for R and Python

The fastcluster package is a C++ library for hierarchical, agglomerative clustering. It provides a fast implementation of the most efficient, current algorithms when the input is a dissimilarity index. Moreover, it features memory-saving routines for hierarchical clustering of vector data. It improves both asymptotic time complexity (in most cases) and practical performance (in all cases) compa...

متن کامل

InRaDoS: An internal radiation dosimetry computer program

Introduction: Internal radiation dosimetry is important from a radiation protection point of view and can help to optimize the radiation dose delivered to the workers, public, and patients. It has a rather simple protocol but needs a large amount of data. Therefore, it is difficult to do on a routine basis. The use of computer programs makes internal radiation dosimetry simpler...

متن کامل

From Python to PLT Scheme

This paper describes an experimental embedding of Python into DrScheme. The core of the system is a compiler, which translates Python programs into equivalent MzScheme programs, and a runtime system to model the Python environment. The generated MzScheme code may be evaluated or used by DrScheme tools, giving Python programmers access to the DrScheme development suite while writing in their fav...

متن کامل

Students’ Oral Assessment Considering Various Task Dimensions and Difficulty Factors

This study investigated students’ oral performance ability accounting for various oral analytical factors including fluency, lexical and structural complexity and accuracy with each subcategory. Accordingly, 20 raters scored the oral performances produced by 200 students and a quantitative design using a MANOVA test was used to investigate students’ score differences of various levels of langua...

متن کامل

Comparative evaluation of performance-boosting tools for Python

The Python programming language has a number of advantages, such as simple and clear syntax, concise and readable code, and open source implementation with a lot of extensions available, that makes it a great tool for teaching programming to students. Unfortunately, Python, as a very high level interpreted programming language, is relatively slow, which becomes a nuisance when executing computa...

متن کامل

User-Centered Evolutionary Software Development Using Python and Java

The two language approach to software development has been investigated by several language designers. The primary hypothesis of such an approach being that both strong compile-time type checking and loose run-time type checking are desirable in evolutionary software development. Java is a strongly typed language which offers performance, robustness and modularity as such, while Python is a wea...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

عنوان ژورنال:

دوره   شماره 

صفحات  -

تاریخ انتشار 2010